home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / mui / bcc_src.lha / Parser / ValidFile.cpp < prev    next >
C/C++ Source or Header  |  1998-03-15  |  866b  |  40 lines

  1. #include "ValidFile.h"
  2. #include <proto/dos.h>
  3.  
  4. #include <string.h>
  5.  
  6.  
  7. short ValidFile::isValid( char *s, char *d )
  8. {
  9.  BPTR ls, ld;
  10.  
  11.      if( !(ls = Lock( s, ACCESS_READ )) ) return 0;
  12.      if( !(ld = Lock( d, ACCESS_READ )) ) { UnLock( ls ); return 0; }
  13.      
  14.      Examine( ls, &fibs );
  15.      Examine( ld, &fibd );
  16.      
  17.      short res = CompareDS( &(fibs.fib_Date), &(fibd.fib_Date) );
  18.      
  19.      UnLock( ls );
  20.      UnLock( ld );
  21.      
  22.      return ( res < 0 ? 0 : 1 );
  23.  
  24. }
  25.  
  26. short ValidFile::CompareDS( struct DateStamp *d1, struct DateStamp *d2 )
  27. {
  28.     short ret;
  29.  
  30.     if( d2->ds_Days == d1->ds_Days ) ret = 0;
  31.     else ret = d2->ds_Days > d1->ds_Days ? 1 : -1;
  32.     if( ret ) return ret;
  33.     if( d2->ds_Minute == d1->ds_Minute ) ret = 0;
  34.     else ret = d2->ds_Minute > d1->ds_Minute ? 1 : -1;
  35.     if( ret ) return ret;
  36.     if( d2->ds_Tick == d1->ds_Tick ) ret = 0;
  37.     else ret = d2->ds_Tick > d1->ds_Tick ? 1 : -1;
  38.     return ret;
  39. }
  40.